ãã¿ãŒã³ãããã³ã°ã§JavaScriptã®é«åºŠãªåå²ä»£å ¥ãæ¢æ±ãã³ãŒãã®å¯èªæ§ãšå¹çãé«ããè€éãªãã¯ããã¯ããå®è·µçãªäŸãšå ±ã«åŠã³ãŸãã
JavaScriptã®ãã¿ãŒã³ãããã³ã°åå²ä»£å ¥: é«åºŠãªæ§æããã¹ã¿ãŒãã
JavaScriptã®åå²ä»£å ¥ïŒdestructuringïŒã¯ãES6 (ECMAScript 2015)ã§å°å ¥ããã匷åãªæ©èœã§ããªããžã§ã¯ããé åããå€ãåãåºããŠåå¥ã®å€æ°ã«ä»£å ¥ããããšãã§ããŸããåºæ¬çãªåå²ä»£å ¥ã¯åºã䜿ãããŠããŸããããã¿ãŒã³ãããã³ã°ãå«ãé«åºŠãªåå²ä»£å ¥ãã¯ããã¯ã¯ãç¹ã«è€éãªããŒã¿æ§é ãæ±ãéã«ãã³ãŒãã®å¯èªæ§ãšå¹çãå€§å¹ ã«åäžãããããšãã§ããŸãããã®å æ¬çãªã¬ã€ãã§ã¯ãäžçäžã®ããããã¹ãã«ã¬ãã«ã®éçºè åãã«ããããã®é«åºŠãªæ§æãå®è·µçãªäŸãšãšãã«æ¢æ±ããŸãã
åå²ä»£å ¥ã®åºæ¬ãçè§£ãã
é«åºŠãªãã¿ãŒã³ãããã³ã°ã«å ¥ãåã«ãåå²ä»£å ¥ã®åºæ¬ãç°¡åã«ããããããŸãããã
ãªããžã§ã¯ãã®åå²ä»£å ¥
ãªããžã§ã¯ãã®åå²ä»£å ¥ã§ã¯ãããããã£åã«åºã¥ããŠãªããžã§ã¯ãããå€ãæœåºã§ããŸããäŸïŒ
const person = {
name: "Alice",
age: 30,
city: "London"
};
const { name, age } = person;
console.log(name); // Output: Alice
console.log(age); // Output: 30
é åã®åå²ä»£å ¥
é åã®åå²ä»£å ¥ã§ã¯ãã€ã³ããã¯ã¹ã«åºã¥ããŠé åããå€ãæœåºã§ããŸããäŸïŒ
const numbers = [1, 2, 3, 4, 5];
const [first, second] = numbers;
console.log(first); // Output: 1
console.log(second); // Output: 2
é«åºŠãªåå²ä»£å ¥ãã¯ããã¯ãšãã¿ãŒã³ãããã³ã°
ããã§ã¯ããã¿ãŒã³ãããã³ã°ãåãå ¥ããé«åºŠãªåå²ä»£å ¥ãã¯ããã¯ãæ¢æ±ããŸããããåå²ä»£å ¥ã«ããããã¿ãŒã³ãããã³ã°ãšã¯ãåçŽãªå€æ°åãããè€éãªãã¿ãŒã³ã䜿çšããŠå€ãæœåºããä»£å ¥ããããšãæããŸããããã«ã¯ããã¹ããããåå²ä»£å ¥ãããã©ã«ãå€ãæ®äœããããã£/èŠçŽ ãèšç®ãããããããã£åãªã©ãå«ãŸããŸãã
ãã¹ãããããªããžã§ã¯ãã®åå²ä»£å ¥
ãã¹ãããããªããžã§ã¯ããæ±ãå Žåããã¹ããããåå²ä»£å ¥ã䜿çšããŠãªããžã§ã¯ãæ§é ã®æ·±ãéå±€ããå€ãæœåºã§ããŸãã
const company = {
name: "GlobalTech Inc.",
location: {
city: "New York",
country: "USA"
},
employees: 500
};
const { location: { city, country } } = company;
console.log(city); // Output: New York
console.log(country); // Output: USA
ãã®äŸã§ã¯ã`company`ãªããžã§ã¯ãã®ãã¹ããããããããã£ã§ãã`location`ãªããžã§ã¯ããã`city`ãš`country`ããããã£ãæœåºããŠããŸãã
ãã¹ããããé åã®åå²ä»£å ¥
ãã¹ãããããªããžã§ã¯ããšåæ§ã«ãé åã§ããã¹ããããåå²ä»£å ¥ã䜿çšããŠããã¹ããããé åæ§é ããå€ãæœåºã§ããŸãã
const matrix = [
[1, 2],
[3, 4],
[5, 6]
];
const [[a, b], [c, d]] = matrix;
console.log(a); // Output: 1
console.log(b); // Output: 2
console.log(c); // Output: 3
console.log(d); // Output: 4
ããã§ã¯ã`matrix`é åã®æåã®2ã€ã®å éšé åãããããããæåã®2ã€ã®èŠçŽ ãæœåºããŠããŸãã
ãªããžã§ã¯ããšé åã®åå²ä»£å ¥ã®çµã¿åãã
ãªããžã§ã¯ããšé åã®åå²ä»£å ¥ãçµã¿åãããŠããªããžã§ã¯ããšé åã®äž¡æ¹ãå«ãè€éãªããŒã¿æ§é ãæ±ãããšãã§ããŸãã
const user = {
id: 123,
name: "Carlos Silva",
address: {
street: "Av. Paulista, 1000",
city: "São Paulo",
country: "Brazil"
},
orders: [
{ id: 1, amount: 50 },
{ id: 2, amount: 100 }
]
};
const { name, address: { city }, orders: [{ amount: firstOrderAmount }] } = user;
console.log(name); // Output: Carlos Silva
console.log(city); // Output: São Paulo
console.log(firstOrderAmount); // Output: 50
ãã®äŸã§ã¯ããŠãŒã¶ãŒã®ååãã¢ãã¬ã¹ããéœåžããããŠæåã®æ³šæã®éé¡ãæœåºããŠããŸãã
ããã©ã«ãå€
åå²ä»£å ¥æã«å€æ°ã«ããã©ã«ãå€ãæäŸããããšãã§ããŸããããã¯ãããããã£ãé åã®èŠçŽ ãå ã®ãªããžã§ã¯ããé åã«ååšããªãå¯èœæ§ãããå Žåã«äŸ¿å©ã§ãã
const product = {
name: "Laptop",
price: 1200
};
const { name, price, discount = 0.1 } = product;
console.log(name); // Output: Laptop
console.log(price); // Output: 1200
console.log(discount); // Output: 0.1 (default value)
const numbers = [1, 2];
const [first, second, third = 3] = numbers;
console.log(first); // Output: 1
console.log(second); // Output: 2
console.log(third); // Output: 3 (default value)
`product`ãªããžã§ã¯ãã«`discount`ããããã£ãååšããªãå Žåã`discount`倿°ã«ã¯ããã©ã«ãå€ã®`0.1`ãä»£å ¥ãããŸããåæ§ã«ã`numbers`é åã«3çªç®ã®èŠçŽ ãååšããªãå Žåã`third`ã«ã¯ããã©ã«ãå€ã®3ãä»£å ¥ãããŸãã
æ®äœããããã£ãšæ®äœèŠçŽ
æ®äœæ§æã¯ããªããžã§ã¯ãã®æ®ãã®ããããã£ãé åã®èŠçŽ ãæ°ãããªããžã§ã¯ããé åã«éããããšãå¯èœã«ããŸãã
ãªããžã§ã¯ãåå²ä»£å ¥ã«ãããæ®äœããããã£
const employee = {
name: "Elena Petrova",
age: 28,
department: "Marketing",
country: "Russia",
city: "Moscow"
};
const { name, ...rest } = employee;
console.log(name); // Output: Elena Petrova
console.log(rest); // Output: { age: 28, department: "Marketing", country: "Russia", city: "Moscow" }
ãã®äŸã§ã¯ã`name`ããããã£ãæœåºãããæ®ãã®ããããã£ã`rest`ãªããžã§ã¯ãã«éããããŸãã
é ååå²ä»£å ¥ã«ãããæ®äœèŠçŽ
const scores = [85, 90, 78, 92, 88];
const [first, second, ...remaining] = scores;
console.log(first); // Output: 85
console.log(second); // Output: 90
console.log(remaining); // Output: [78, 92, 88]
ããã§ã¯ãæåã®2ã€ã®èŠçŽ ãæœåºãããæ®ãã®èŠçŽ ã`remaining`é åã«éããããŸãã
èšç®ãããããããã£å
èšç®ãããããããã£åã䜿çšãããšãåŒã䜿ã£ãŠåå²ä»£å ¥æã®ããããã£åãæ±ºå®ã§ããŸããããã¯ãããããã£åãåçã§ãããã倿°ã«åºã¥ããŠããå Žåã«äŸ¿å©ã§ãã
const key = "email";
const contact = {
name: "Kenji Tanaka",
email: "kenji.tanaka@example.com",
phone: "+81 3 1234 5678"
};
const { [key]: userEmail } = contact;
console.log(userEmail); // Output: kenji.tanaka@example.com
ãã®äŸã§ã¯ã`key`倿°ãããããã£åãemailããä¿æããŠãããããã䜿çšããŠ`contact`ãªããžã§ã¯ãããå€ãæœåºããŸããåçãªããŒã«ã¯è§æ¬åŒ§`[]`ã䜿çšãããç¹ã«æ³šæããŠãã ããã
äžéšã®å€ã®ç¡èŠ
æã«ã¯ããªããžã§ã¯ããé åããç¹å®ã®ããããã£ãèŠçŽ ã ããå¿ èŠã§ãæ®ãã¯ç¡èŠãããå ŽåããããŸããåå²ä»£å ¥äžã«ã«ã³ãã䜿çšããŠå€ãã¹ãããã§ããŸãã
const data = [10, 20, 30, 40, 50];
const [first, , third, , fifth] = data;
console.log(first); // Output: 10
console.log(third); // Output: 30
console.log(fifth); // Output: 50
ãã®äŸã§ã¯ã`data`é åãã1çªç®ã3çªç®ã5çªç®ã®èŠçŽ ã®ã¿ãæœåºããŠããŸãã
å®è·µçãªå¿çšãšäŸ
ã§ã¯ãå®éã®ã·ããªãªã§é«åºŠãªåå²ä»£å ¥ãã©ã®ããã«äœ¿çšãããããããã€ãã®å®è·µçãªäŸãèŠãŠã¿ãŸãããã
APIã¬ã¹ãã³ã¹ããã®ããŒã¿æœåº
APIãæ±ãéãJSONããŒã¿ãåãåã£ãŠè§£æããæœåºããå¿ èŠãé »ç¹ã«ãããŸããåå²ä»£å ¥ã¯ãã®ããã»ã¹ãç°¡çŽ åã§ããŸãã
async function fetchUserData(userId) {
const response = await fetch(`https://api.example.com/users/${userId}`);
const data = await response.json();
// Assuming the API response is:
// {
// "id": 1,
// "name": "Aisha Khan",
// "email": "aisha.khan@example.com",
// "address": {
// "street": "123 Main St",
// "city": "Lahore",
// "country": "Pakistan"
// }
// }
const { name, email, address: { city, country } } = data;
console.log(`User: ${name}, Email: ${email}, City: ${city}, Country: ${country}`);
}
èšå®ãªãã·ã§ã³ã®åŒãæž¡ã
åå²ä»£å ¥ã¯ã颿°ã«èšå®ãªãã·ã§ã³ãæž¡ãåŠçãç°¡çŽ åããããã«äœ¿çšã§ããŸãã
function createButton({
text = "Click Me",
color = "blue",
size = "medium",
onClick = () => console.log("Button Clicked")
}) {
// Create button element with the provided options
console.log(`Creating button with text: ${text}, color: ${color}, size: ${size}`);
onClick();
}
createButton({ text: "Submit", color: "green" });
ãã®äŸã§ã¯ã`createButton`颿°ã¯èšå®ãªãã·ã§ã³ãæã€ãªããžã§ã¯ããåãåããŸããåå²ä»£å ¥ã¯ããããã®ãªãã·ã§ã³ãããã©ã«ãå€ãšãšãã«æœåºããããã«äœ¿çšãããŸãã
倿°ã®ã¹ã¯ãã
åå²ä»£å ¥ã¯ãäžæå€æ°ã䜿ããã«2ã€ã®å€æ°ã®å€ã亀æããç°¡æœãªæ¹æ³ãæäŸããŸãã
let a = 10;
let b = 20;
[a, b] = [b, a];
console.log(a); // Output: 20
console.log(b); // Output: 10
Reactã³ã³ããŒãã³ãã§ã®äœ¿çš
Reactã§ã¯ãã³ã³ããŒãã³ãã«æž¡ãããpropsãæœåºããããã«åå²ä»£å ¥ãäžè¬çã«äœ¿çšãããããã¯ãªãŒã³ã§èªã¿ãããã³ãŒãã«ã€ãªãããŸãã
function UserProfile({
name,
age,
location: { city, country },
occupation = "Software Developer"
}) {
return (
<div>
<h2>{name}</h2>
<p>Age: {age}</p>
<p>Location: {city}, {country}</p>
<p>Occupation: {occupation}</p>
<div>
);
}
// Example usage:
const userData = {
name: "Lin Mei",
age: 32,
location: {
city: "Beijing",
country: "China"
}
};
<UserProfile {...userData} />
ãã¹ããã©ã¯ãã£ã¹ãšèæ ®äºé
- å¯èªæ§: 匷åã§ã¯ãããŸãããã³ãŒãã®å¯èªæ§ãäœäžãããå¯èœæ§ã®ããè€éãªåå²ä»£å ¥ãã¿ãŒã³ã®äœ¿ãããã¯é¿ããŠãã ãããç°¡æœããšæç¢ºãã®ãã©ã³ã¹ã远æ±ããŸãããã
- ãšã©ãŒãã³ããªã³ã°: ååšããªãå¯èœæ§ã®ããããããã£ãèŠçŽ ãåå²ä»£å ¥ããéã¯ãããã©ã«ãå€ãæ¡ä»¶ãã§ãã¯ã䜿çšããŠãšã©ãŒãé²ããŸãããã
- ããã©ãŒãã³ã¹: å Žåã«ãã£ãŠã¯ãé床ãªåå²ä»£å ¥ãããã©ãŒãã³ã¹ã«ããããªåœ±é¿ãäžããããšããããŸãïŒç¹ã«å€ãJavaScriptãšã³ãžã³ã§ïŒãããããçŸä»£ã®ãšã³ãžã³ã¯äžè¬çã«åå²ä»£å ¥ã«å¯ŸããŠååã«æé©åãããŠããŸããããã©ãŒãã³ã¹ã®åé¡ãçãããå Žåã¯ãã³ãŒãããããã¡ã€ãªã³ã°ããŠãã ããã
- äžè²«æ§: ã³ãŒãããŒã¹å šäœã§äžè²«ããåå²ä»£å ¥ã®ã¹ã¿ã€ã«ãç¶æããŠãã ããã
- ããã¥ã¡ã³ããŒã·ã§ã³: è€éãªåå²ä»£å ¥ãã¿ãŒã³ãææžåããä»ã®éçºè ã®çè§£ãå©ããŸãããã
ãŸãšã
JavaScriptã®åå²ä»£å ¥ãç¹ã«é«åºŠãªãã¿ãŒã³ãããã³ã°ã¯ãããŒã¿ãæ±ãããã®åŒ·åã§è¡šçŸåè±ããªæ¹æ³ãæäŸããŸãããããã®ãã¯ããã¯ãç¿åŸããããšã§ãããã¯ãªãŒã³ã§å¹ççããããŠä¿å®ããããã³ãŒããæžãããšãã§ããŸããAPIãšã®ããåãã®ç°¡çŽ åããReactã³ã³ããŒãã³ãã®åŒ·åãŸã§ãåå²ä»£å ¥ã®å¿çšç¯å²ã¯åºå€§ã§ããè€éãªãã¿ãŒã³ã䜿çšããéã¯ãç°¡æœããšå¯èªæ§ã®ãã©ã³ã¹ãåããããã©ãŒãã³ã¹ãžã®æœåšçãªåœ±é¿ãèæ ®ããããšãå¿ããªãã§ãã ããããããã®ãã¯ããã¯ã«æ £ããã«ã€ããŠãããŸããŸãªã·ããªãªã§ããããæŽ»çšããJavaScriptéçºã®ã¯ãŒã¯ãããŒãæ¹åã§ããããã«ãªãã§ãããã
ãã®ã¬ã€ãã¯ãJavaScriptã®é«åºŠãªåå²ä»£å ¥ãçè§£ãã䜿çšããããã®åŒ·åºãªåºç€ãæäŸããŸããäŸã詊ããããä»ã®ãŠãŒã¹ã±ãŒã¹ãæ¢æ±ãããããŠãã¹ãã«ãããã«é«ããŠãã ãããããããŒã³ãŒãã£ã³ã°ïŒ